package cz.vse.adventura.po1715.xskrz00_skrivankova.hra;

import static cz.vse.adventura.po1715.xskrz00_skrivankova.hra.Texty.*;

/*******************************************************************************
 * Instance tridy {@code PříkazPřemýšlej} představuje příkaz který umožňuje oslovit osobu uvedenou v parametru.
 *
 * @author    Zuzana SKŘIVÁNKOVÁ
 * @version   1.00
 */
public class PříkazPromluv extends APříkaz
{
//== KONSTANTNI ATRIBUTY TRIDY =================================================
//== PROMENNE ATRIBUTY TRIDY ===================================================
//== KONSTANTNI ATRIBUTY INSTANCI ==============================================
//== PROMENNE ATRIBUTY INSTANCI ================================================
//== NESOUKROME METODY TRIDY ===================================================

//##############################################################################
//== KONSTRUKTORY A TOVARNI METODY =============================================

    /***************************************************************************
     * Vytvoří příkaz, jenž po zadání vypíše hráči nápovědu k dané místnosti.
     */
    PříkazPromluv()
    {
        super(Texty.pPROMLUV,
              "Během hry si můžeš s někým promluvit. Můžeš se dozvědět něco nového a nebo si aspoň pokecáš." );
    }


//== ABSTRAKTNI METODY =========================================================
//== NESOUKROME METODY INSTANCI ================================================

    /***************************************************************************
     * Alenka si promluví s osobou uvedenou v parametru. Nejedná se o rozhovor,
     * ale pouze o monolog dané osoby. Alenka dostává informace.
     * Důležité, nebo ne.
     *
     *
     * @param  parametry Osoba kterou chceme oslovit
     * @return Nápověda k dané místnosti
     */
    @Override
    public String execute( String... parametry )
    {
        if (parametry.length != 1) {
            return "Příkaz potřebuje jeden parametr:\n" +
                   "Osoba, kterou chcete oslovit" ;
        }
        
        String nazev = parametry[0];
        
        if (nazev.equalsIgnoreCase(oHOUSENKA)) {
            return mlHOUSENKA;
        }
        
        if (nazev.equalsIgnoreCase(oKLOBOUČNÍK)) {
            return mlKLOBOUČNÍK;
        }
        
        if (nazev.equalsIgnoreCase(oKRÁLOVNA)) {
            //Královna zavře alenku do vězení
         
            Místnost vezeni = Místnost.getMístnost(mVEZENI);
            Místnost.setAktuálníMístnost(vezeni);

            //Místnost.setAktuálníMístnost(Místnost.getMístnost(mVEZENI));

            return mlKRÁLOVNA;
        }
        
        if (nazev.equalsIgnoreCase(oŠKLEB)) {
            return mlŠKLEB;
        }
        
        return "To byl zas rozhovor na úrovni.";

    }



//== SOUKROME A POMOCNE METODY TRIDY ===========================================
//== SOUKROME A POMOCNE METODY INSTANCI ========================================
//== VNORENE A VNITRNI TRIDY ===================================================
//== TESTY A METODA MAIN =======================================================
}
